// es7 语法 async + await
// TODO async函数 就相当于 co(generator)

const fs = require('fs').promises;
const path = require('path');

async function read(){ // async 函数的执行结果 就是promise
    //try{
        // 我们处理 yield 后面是否 跟的是promise
        let filename =  await fs.readFile(path.resolve(__dirname,'name.txt'),'utf8');
        let age = await fs.readFile(path.resolve(__dirname,filename.trim()),'utf8');
        // let newAge =  yield  {a:'我今年' + age+'岁了'}

        // let r = await Promise.all([])
        // let r = await 100
        return age;
    // }catch(e){
    //     console.log(e);
    //  //若走这里，下面的then依然会走成功回调
    // }

  // throw Error('abc') //如果直接在async函数里抛出错误，会走catch
}
read().then(data=>{
    console.log(data);
}).catch(err=>{
  console.log('read 失败');
  console.log(err);
});
